## Super Simple Setup (Chapter 4)
## Open vSwitch Network Configuration
## COMPUTES ONLY!!

# NOTE: This file does not contain interface configuration steps.

crudini --set /etc/neutron/neutron.conf database connection mysql://neutron:neutron@controller/ovs_neutron
crudini --set /etc/neutron/neutron.conf DEFAULT core_plugin neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2

ln -s /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini /etc/neutron/plugin.ini

## Configure Nova Settings ##
crudini --set /etc/nova/nova.conf DEFAULT linuxnet_interface_driver nova.network.linux_net.LinuxOVSInterfaceDriver
crudini --set /etc/nova/nova.conf DEFAULT libvirt_vif_driver nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver

service openstack-nova-compute restart

## Create Bridges ##
crudini --set /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini OVS bridge_mappings physnet1:br-eth1

service openvswitch start
chkconfig openvswitch on
ovs-vsctl add-br br-eth1
ovs-vsctl add-port br-eth1 eth1
ovs-vsctl add-br br-int

## Configure OVS Plugin ##
crudini --set /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini OVS tenant_network_type vlan
crudini --set /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini OVS network_vlan_ranges physnet1:30:33
crudini --set /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini OVS enable_tunneling true
crudini --set /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini OVS tunnel_id_ranges 1:1000
crudini --set /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini OVS local_ip 172.18.0.101
crudini --set /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
crudini --set /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini database connection mysql://neutron:neutron@controller/ovs_neutron

service neutron-openvswitch-agent start
chkconfig neutron-openvswitch-agent on
service openstack-nova-compute restart